home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
games
/
agplaptm.lha
/
AGPLapTime.doc
< prev
next >
Wrap
Text File
|
1995-12-07
|
19KB
|
477 lines
AGPLapTime 1.0
by
Rene Smit
November 1995
This document describes AGPLapTime, a utility with which you can log your
races in World Circuit/Formula One Grandprix. This utility is freeware,
sort of. So it's for free, but if you want to reward me for all the hard work
I've put into it (and into SplitTime), I would be very happy to receive some
money for it (cash), whatever amount and in whatever currency you like. It
will encourage me to make more utilities for F1GP, and to improve the current
ones.
Snail Mail:
Rene Smit
Wenckebachstraat 42
2522 CL The Hague
The Netherlands
I am a 6th year student Computer Science in Delft, but most of the time I am
playing and hacking F1GP.
You can find me in the Amiga F1GP Hall of Fame and PC F1GP/WC Hall of Fame
under id RS, and in the Amiga F1GP Championship in team Nightmare on Pit Lane,
together with my team mate Grant Reeve.
If you want to complain, ask questions or exchange deeper thoughts about
AGPLapTime, SplitTime or F1GP feel free to e-mail me:
E-Mail:
R.Smit@twi.tudelft.nl
WWW:
http://dutian.twi.tudelft/~smit/sdihome.html
Disclaimer
==========
I hereby state that I am not responsible for any damage or loss of
data, whether or not caused by using either AGPLapTime or AGPLap.
If it crashes in the middle of an important race then that's not my
responsibility. Please make sure it works properly on your system first.
If you have any problems, try to run F1GP without AGPLapTime. If you're
sure AGPLapTime causes problems for you please (e)mail me personally,
and only me.
Distribution
============
You may copy AGPLapTime to everyone as long as you copy the original
lha file containing the following files:
- AGPLapTime (c) 1995 Rene Smit
- AGPLapTime.doc
- AGPLapTime.doc.info
- AGPLap (c) 1995 Rene Smit
- AGPLapMix (c) 1995 Grant Reeve
- AGPLapMix.doc
- AGPLapMix.doc.info
- libs/f1gp.library (c) 1995 Oliver Roberts
The f1gp.library was made by Oliver Roberts. The version of the library
included here is 35.1.
AGPLapMix was made by Grant Reeve.
What is AGPLapTime?
===================
AGPLapTime is a utility that logs interesting information while you're
playing F1GP. Here is a quick list of most of the things that are logged:
- Laptimes: Every time a car passes the start/finish line, the laptime and
cumulative race time is logged, as well as the tyre grip.
- Fastest laps: If the laptime improves the fastest lap of the session, the
horsepower, opposition level, speed factor, frame rate and
race distance (if it's a race) is logged.
- Setup: Front/rear wing, brake balance, gear ratio's, tyre compound,
traction control on/off is logged.
- Pitstops: At each pitstop the damage and pitstop duration is logged.
When leaving the pits, the tyre compound is logged.
- Retirements: If a car is involved in a fatal crash this is logged right
away, as well as the yellow flag and car removal delays, and
the position of the car.
Besides the player's car, computer cars can be logged too, although they are
not very interesting (unless you want to analyse their strategies while
changing several settings in F1GP-Ed, for example).
If only 1 player is being logged, the logfile will have the size of about 4Kb
for a full-length race. With 25 computer cars as well, it will about 100Kb,
but usually it's smaller.
What is required?
=================
- Any Amiga.
- F1GP from Microprose, any version (European F1GP, World Circuit or the
A600 WWW version).
- Oliver Roberts' f1gp.library, necessary for AGPLapTime to work.
f1gp.library is included with AGPLapTime in the directory 'libs'. You need
to copy the library to your libs: directory. If you already have one from
the latest f1gp-ed, you don't need to do that as the f1gp.library supplied
with f1gp-ed is always the same or newer as the one included here.
Usage
=====
AGPLapTime should be started from cli with the following synopsis:
AGPLapTime [-w] [-c] [-b <bufsize>] [logfile]
(To keep it kickstart 1.3 compatible I haven't used ReadArgs).
The options _cannot_ be concatenated (e.g. -wc).
By default, computer cars are not being logged. To turn this on, specify
the '-c' option. Note that in multiplayer games a player's car controlled
by the computer is not a computer car.
The '-b' option specifies how large the buffer for the logfile is. Because I
can't write logged data to disk while you're in the cockpit I use a buffer.
This buffer can be flushed to disk during F1GP menu interaction if you
give it the flush command: ctrl-f. The buffer is flushed too if you quit
AGPLapTime, either by giving the ctrl-c command, or by quitting F1GP.
These commands can be given by pressing the corresponding key combination
in the cli AGPLapTime is started from, or with a special program like 'break'
in your c: directory (after finding out it's process number with 'status').
The default buffer size is about 10Kb. If the '-c' option is specified this
default size is about 128Kb. People that are low on memory may have to
specify a smaller buffer size with the '-b' option. The given size must be
in kilobytes.
If the buffer overflows, there are no records logged anymore until the
buffer is flushed. There will appear a message telling you that some records
are lost if this happens, so make sure your buffer is big enough!
After flushing the buffer it will always be empty again, unless an error
occurred while trying to write to the file.
The default filename for the logfile is "agplap.log". You can specify a
different name by just typing it on the command line (it may not start with
a '-', or it will be interpreted as an option).
The '-w' option will enable automatic writing. Once you get out of the
cockpit or you're in accelerated time, and this option is specified,
AGPLapTime will write out (flush) the buffer to the logfile right away.
For this option to work, you need at least v37 of the OS, so KS1.3 users
can't use it (this is probably fixed in a next version).
There won't appear a message that the buffer is saved, unless there was
an error. Also, an empty buffer will be saved right away when AGPLapTime
is started, to be able to start AGPLap with option '-w' after that too.
Examples:
AGPLaptime phoenix.log
will log only players' cars, with a 10Kb buffer which will be flushed to
the file "phoenix.log".
AGPLaptime -w -c -b100 imola_cc.log
will log all cars, with a 100Kb buffer which will be flushed to the file
"imola_cc.log" automatically.
How do I analyze the logfile?
=============================
A seperate tool called AGPLap can be used to output the logfile in a human
readable format. Call it from cli with the following synopsis:
Usage: AGPLap [-w] [-/+[H/C]slfpr] ... [<logfile>]
Everything between [] brackets is optional. All options are case insensitive.
It may look a bit complex at first sight, but it isn't :). The options
consist of three optional parts:
[<logfile>]
-----------
The default name for the logfile is "agplap.log". You can specify a different
name on the commandline as long as it doesn't start with a '-' or a '+'.
[-w]
----
The '-w' option will enable logfile notification and makes AGPLap wait
forever after printing all log entries until ctrl-c is pressed. Whenever
there are new entries written to the file, AGPLap will print them right away.
This way you don't need to print the complete logfile every time you take a
look during a race.
This option can best be used in conjunction with the '-w' command of
AGPLapTime: if you go into accelerated time you will see computer cars being
logged (if enabled) straight away. Don't ask me of how much use this is, but
I use this to test stuff.
[-/+[H/C]slfpr] ...
-------------------
This is the part that lets you select which entries you would like to see.
Also, the '...' means you can specify it as many times as you like.
It starts with either a '-' or a '+', then is optionally followed by a 'H'
or a 'C', then followed by 0 or more of the characters 'slfpr'.
By default, all log entries are printed. A '-' option will then skip a
certain type of entry. The options and entries are mapped as follows:
Option Entry Type
s setups
l laptimes
f fastest laps
p pitstops
r retirements
Also, an 'H' or 'C' can further specify entries. If the 'H' is specified,
then the following options only affect human player cars. If the 'C is
specified, then the following options only affect computer cars. If neither
'H' or 'C' is specified, then the following options will affect all cars.
If there appears a '+' option however, all entries will _not_ be printed,
except all the specified ones, including the '-' options. So the '+' is
dominant: once for a certain type of car (human or computer) a '+' option
is specified, the '-' options will turn into '+' options for that type of
car.
Examples
--------
+C print human player entries only.
-Hfs +Cpr print all human players entries except fastest laps and
setups, and also all computer pitstops and retirements.
+lp print all laptime and pitstop entries.
+p -Cf print all computer fastest laps, and pitstops of all cars.
+ print nothing.
Below is an example output:
Car Driver Lap CP TG LapTime BestTime SessionTime Difference
------------------------------------------------------------------------------
Track 1: Phoenix, Race
Setup [64/48] 14R [26,32,39,45,51,57] TC on; C-compound
%39 Rene Smit 0 24 86 -:--.--- -:--.--- 0h00m09.339 + 0:07.588
Track 1: Phoenix, Race
Setup [64/46] 12R [27,33,39,45,51,57] TC on; C-compound
*38 Grant Reeve 0 26 86 -:--.--- -:--.--- 0h00m10.343 + 0:08.592
%38 Grant Reeve 1 12 88 1:32.123 1:32.123= 0h01m42.466 + 0:12.914
*39 Rene Smit 1 21 88 1:46.394 1:46.394= 0h01m55.733 + 0:26.181
*38 Grant Reeve 2 12 90 1:32.231 1:32.123 0h03m14.697 + 0:20.418
%39 Rene Smit 2 22 90 Pits in FW 0h03m48.073
%39 Rene Smit 2 24 -- Pits out on C's 0h04m08.837 pit 20.764
%38 Grant Reeve 3 8 92 1:26.362 1:26.362= 0h04m41.059 + 0:16.884
*39 Rene Smit 3 24 88 -:--.--- 1:46.394 0h05m42.135 + 1:17.960
*39 Rene Smit 4 24 -- Fatal crash 8% 0h05m50.992 0:03, 0:30
%38 Grant Reeve 4 8 92 1:30.496 1:26.362 0h06m11.555 + 0:22.813
*38 Grant Reeve 5 8 92 1:31.839 1:26.362 0h07m43.394 + 0:27.930
*38 Grant Reeve 6 8 92 1:21.849 1:21.849! 0h09m05.243 + 0:26.661
FL 1:21.849 Grant Reeve, Ace, 716 HP, SF 16384, FR 10.0, 100%
*38 Grant Reeve 7 10 -- Fatal crash 35% 0h09m40.286 0:03, 0:30
This logfile was made during a multiplayer game, and the computer cars were
logged too, but have been filtered out here by using the '+C' option.
The top line tells you what each column means. This column layout refers to
laptime entries but certain columns are related to some other entries too.
This is what each column means:
- Car The car number.
It is preceded by one of the following characters:
. '*' if a player is in control of the car.
. '%' if the computer has control of this player's car
in multiplayer mode.
. '#' if this is a computer car.
- Driver Driver name.
- Lap Lap number. Races begin with lap 0 at the start.
Other sessions start with lap number 1.
- CP Car position. In non-race sessions this is the ranking in
the fastest lap table (= grid position in qualify).
- TG Tyre grip. See below.
- LapTime Lap time. Is '-:--.---' on first lap out.
- BestTime Best personal time in the session.
- SessionTime Session time. In the race, this is the exact race time which
starts at the green light.
- Difference In the race, this is the time difference between this car and
the leader.
Log Entries
===========
I will now explain each log entry type in detail with use of the example.
Laptime, setup and fastest_lap entries
------------------------------------------
Everytime a car crosses the start/finish line a laptime entry is logged.
If this is the first one in a session, a setup entry is logged as well.
The following is printed in this case:
Track 1: Phoenix, Race
Setup [64/48] 14R [26,32,39,45,51,57] TC on; C-compound
%39 Rene Smit 0 24 86 -:--.--- -:--.--- 0h00m09.339 + 0:07.588
It first prints the track name and session mode. The session mode is one of
the following:
- Practise Circuit
- Free Practice
- Qualifying
- Pre-Race Practice
- Race
The string ' (wet)' is added if it's a wet session (only for pre-race practise
and race). 'Practise Circuit' stands for the 'Practise any circuit' option in
the main menu. The race is either a quick race, a non-championship race or a
championship race.
It then prints the setup: front and rear wing, front or rear brake bias, gear
ratio's, traction control (TC) on or off, and finally the used tyre compound.
This tyre compound isn't always the same as selected in the garage, e.g. in
non-race sessions this compound will be the one you selected from within the
car. So, it's always the compound you're driving on at that moment.
A normal laptime entry will look like this:
%38 Grant Reeve 4 8 92 1:30.496 1:26.362 0h06m11.555 + 0:22.813
Here, a car just finishes lap 4 in position 8. The laptime is 1:30.496 and his
personal best time is 1:26.362.
In case the car sets a best session time, a fastest_lap entry is logged:
*38 Grant Reeve 6 8 92 1:21.849 1:21.849! 0h09m05.243 + 0:26.661
FL 1:21.849 Grant Reeve, Ace, 716 HP, SF 16384, FR 10.0, 100%
After the best laptime a '!' is added so fastest laps can be recognized if
printing of fastest_laps entries is skipped. This will be reset for the race
only, e.g. fastest laps in a pre-race practise won't have a '!' if there has
been driven faster in qualify. If the laptime is an improvement of the
personal best laptime, a '=' is added.
The fastest_lap entry starts with 'FL', followed by the time, the driver name,
the opposition level, horsepower value, speed factor SF, frame rate FR, and
finally a short session name (Prac, FrPr, Qual or PRPr) for non-race sessions,
and the race distance in percentage for race sessions. If you happen to drive
a fastest lap, and drive exactly the same laptime in another lap, a
fastest_lap entry will be logged again.
The speed factor (SF) is some sort of grip value for this particular car. For
a player's car this value will almost always be equal to 16384. For computer
cars it will be that too, unless you're using F1GP-Ed and you've specified a
different speed factor, or you've installed the Local Speed Factor patch.
In that case the SF value will be near or equal to F1GP-Ed's SF value, where
slower computer cars will have a slightly lower speed factor.
Pitstop entries
---------------
Pitstops consist of a pair of entries. When a car comes in for a pitstop, a
pits_in entry is logged (when the car is put onto the jacks):
%39 Rene Smit 2 22 90 Pits in FW 0h03m48.073
If the car has damage, any broken wings are logged. 'FW' means the front
wing, and 'RW' means the rear wing is broken.
When the car comes off the jacks, a pits_out entry is logged:
%39 Rene Smit 2 24 -- Pits out on C's 0h04m08.837 pit 20.764
The tyre compound is printed which was chosen from within the car during the
pitstop, C-compound in this case. In the 'Difference' column the duration of
the pitstop is printed, preceded by the word 'pit'. This time is about
0.5 seconds longer than the time you see from the cockpit.
Retirement entry
----------------
If a car has a fatal crash, a retirement entry is logged, right at the moment
of the impact:
*38 Grant Reeve 7 10 -- Fatal crash 35% 0h09m40.286 0:03, 0:30
The percentage tells you where the car has crashed on the track. So if it was
exactly halfway through the lap, it will say the crash was at 50%.
In the 'Difference' column are two times printed: the first one is the yellow
flag delay, and the second one is the car removal delay. This should be an
indication of how long it takes before the road is clear again.
Note that if the car is involved in another fatal crash right after the first
one, another entry is logged. If two cars fatally crash against each other,
their entries contain the same session time.
Normal crashes are not logged, but if there is a crash, the damage can be seen
in the pits_in entry if the car drives into the pits.
Tyre Grip
=========
With each laptime entry and pits_in entry the tyre grip is logged. This
value indicates the condition of your tyres, and it changes while you're
driving. The grip has an initial ('cold') value which depends on the tyre
compound, the track and the weather conditions (wet or dry).
Here is a list of all cold values for all compounds:
Dry conditions Wet conditions
Tracks A B C D Q(warm) W Slicks W
-----------------------------------------------------------------
2,4,7,10,12,13,14,15 82 85 88 89 83(99) 78 01 57
3,1,6,8,9,11,16 81 84 86 88 82(98) 77 00 56
5 80 83 85 87 80(96) 75 00 55
I have added the 'warm' values for Q-compound tyres too, which gives the
highest possible grip for that track. The optimum values for the other
compounds can be extracted from the logfiles: while warming up the tyres
the value will increase until they reach optimum grip. It will stay constant
for a certain number of laps (this will influence your pit strategy) and
drops at the moment the tyres are wearing out. It will then take a certain
number of laps (depending on the track and compound) before the value drops
below the cold value.
From the example above you can see that in Phoenix the optimum grip for
C's is 92. For all other race-compounds on all tracks the warm value is about
6 higher than the cold value too.
In wet races the tyres don't warm up, so the grip value will then stay
constant.
These grip values are not the original values that the game uses. I have
scaled them to be between 0 and 99, taking slicks in the wet as a minimum
and the highest possible Q value as a maximum. I did this to keep the output
small and to make it more intuitive to read.
Credits
=======
I would like to thank Grant Reeve for encouraging me and for making
AGPLapMix. He is currently working on a graphical viewer for the logfiles,
which will allow a much nicer view and quicker comparison of combined races.
It will be released either seperately or with the next version of AGPLapTime.
Thanks also to Oliver Roberts for beta-testing.
Finally, thanks to Trevor Kellaway, who has made GPLap for the PC, which
inspired me to make a logger for the Amiga too.